package eo.descriptor.configuration;

import java.util.Map;

import javax.persistence.EntityManagerFactory;

import eo.descriptor.entity.EntityDescriptor;
import eo.descriptor.query.NamedQueryDescriptor;

/**
 * Describes a single configuration unit.
 * 
 * @author takeshi
 * 
 */
public interface ApplicationInstance {
    Map<String, String> getConnectionProperties();

    Map<String, String> getConfigurationProperties();

    String getConnectionURL();

    Map<String, EntityDescriptor> getEntitiesDescriptors();

    Map<String, NamedQueryDescriptor> getDeclaredQueries();

    void close();

    EntityManagerFactory getEntityManagerFactory();
    
}
